﻿using Dapper.Database;
using Dapper.Database.Adapters;
using System;
using System.Collections.Generic;
using System.Data;
using System.Threading.Tasks;
using Dapper;
using Dapper.Database.Extensions;
using System.Data.Common;

namespace QuickFramework.Orm
{
    public partial interface IRepository
    {
        #region Dapper.Database 扩展
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   parameters:
        //     The parameters of the where clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        int Count<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        int Count(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null);
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        int Count<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   parameters:
        //     The parameters of the where clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        int Count(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null);
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        //[AsyncStateMachine(typeof(< CountAsync > d__4))]
        Task<int> CountAsync(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null);
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   parameters:
        //     The parameters of the where clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        //[AsyncStateMachine(typeof(< CountAsync > d__5))]
        Task<int> CountAsync(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null);
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< CountAsync > d__6<>))]
        Task<int> CountAsync<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Count of entities
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to count
        //
        //   parameters:
        //     The parameters of the where clause to count
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     Return Total Count of matching records
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< CountAsync > d__7<>))]
        Task<int> CountAsync<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by a parameterized WHERE clause, with Parameters
        //     passed in. If you want to Delete All of the data, call the DeleteAll() command
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   whereClause:
        //     The where clause to use to bound a delete, cannot be null, empty, or whitespace
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        bool Delete<T>(string whereClause, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by a primary key value specified on (T)
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKeyValue:
        //     a Single primary key to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        bool Delete<T>(object primaryKeyValue, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" that match the key values of the entity (T) passed
        //     in
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToDelete:
        //     Entity to delete. If Keys are specified, they will be used as the WHERE condition
        //     to delete.
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     true if deleted, false if not found
        bool Delete<T>(T entityToDelete, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by an un-parameterized WHERE clause. If you want
        //     to Delete All of the data, call the DeleteAll() command
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   whereClause:
        //     The where clause to use to bound a delete, cannot be null, empty, or whitespace
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        bool Delete<T>(string whereClause, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete ALL entities in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        bool DeleteAll<T>(IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete ALL entities in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< DeleteAllAsync > d__17<>))]
        Task<bool> DeleteAllAsync<T>(IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by a primary key value specified on (T)
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKeyValue:
        //     a Single primary key to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< DeleteAsync > d__14<>))]
        Task<bool> DeleteAsync<T>(object primaryKeyValue, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by an un-parameterized WHERE clause. If you want
        //     to Delete All of the data, call the DeleteAll() command
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   whereClause:
        //     The where clause to use to bound a delete, cannot be null, empty, or whitespace
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< DeleteAsync > d__15<>))]
        Task<bool> DeleteAsync<T>(string whereClause, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" by a parameterized WHERE clause, with Parameters
        //     passed in. If you want to Delete All of the data, call the DeleteAll() command
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   whereClause:
        //     The where clause to use to bound a delete, cannot be null, empty, or whitespace
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< DeleteAsync > d__16<>))]
        Task<bool> DeleteAsync<T>(string whereClause, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Delete entity in table "Ts" that match the key values of the entity (T) passed
        //     in
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToDelete:
        //     Entity to delete. If Keys are specified, they will be used as the WHERE condition
        //     to delete.
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< DeleteAsync > d__13<>))]
        Task<bool> DeleteAsync<T>(T entityToDelete, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists in table "Ts"
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entity:
        //     Entity to check
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     true if record is found
        bool Exists<T>(T entity, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKey:
        //     a Single primary key to check
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        bool Exists<T>(object primaryKey, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to check for existence
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        bool Exists<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to check for existence
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        bool Exists<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToExists:
        //     Entity to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     true if record is found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< ExistsAsync > d__22<>))]
        Task<bool> ExistsAsync<T>(T entityToExists, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKey:
        //     a Single primary key to check
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< ExistsAsync > d__23<>))]
        Task<bool> ExistsAsync<T>(object primaryKey, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to check for existence
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< ExistsAsync > d__24<>))]
        Task<bool> ExistsAsync<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Check if a record exists
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause to check for existence
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if record is found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< ExistsAsync > d__25<>))]
        Task<bool> ExistsAsync<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToGet:
        //     Entity to Retrieve with keys populated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        T Get<T>(T entityToGet, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 Get<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 Get<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 Get<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 Get<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     The parameters of the sql
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 Get<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause
        //
        //   parameters:
        //     The parameters of the sql
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        T Get<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKey:
        //     a Single primary key to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        T Get<T>(object primaryKey, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet Get<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__50 <,,,>))]
        //Task<TRet> GetAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__53 <,,,,>))]
        //Task<TRet> GetAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__52 <,,,,>))]
        //Task<TRet> GetAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__51 <,,,>))]
        //Task<TRet> GetAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__49 <,,>))]
        //Task<TRet> GetAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     The parameters of the sql
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__43 <,>))]
        //Task<T1> GetAsync<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__47 <,,,>))]
        //Task<T1> GetAsync<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__46 <,,,>))]
        //Task<T1> GetAsync<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__45 <,,>))]
        //Task<T1> GetAsync<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'T1'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__44 <,,>))]
        //Task<T1> GetAsync<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToGet:
        //     Entity to Retrieve with keys populated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__40<>))]
        Task<T> GetAsync<T>(T entityToGet, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The sql clause
        //
        //   parameters:
        //     The parameters of the sql
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__42<>))]
        Task<T> GetAsync<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a single entity of type 'TRet'.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The sql clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__48 <,,>))]
        //Task<TRet> GetAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        //
        // 摘要:
        //     Returns a single entity of type 'T'.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   primaryKey:
        //     a Single primary key to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type of entity
        //
        // 返回结果:
        //     the entity, else null
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetAsync > d__41<>))]
        Task<T> GetAsync<T>(object primaryKey, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //TRet GetFirst<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //T1 GetFirst<T1, T2>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns the first matching T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        T GetFirst<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        //
        // 摘要:
        //     Returns the first matching T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        T GetFirst<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__81 <,,,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__80 <,,,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__79 <,,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__78 <,,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__77 <,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        //
        // 摘要:
        //     Returns the first matching T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__69<>))]
        Task<T> GetFirstAsync<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__75 <,,,>))]
        //Task<T1> GetFirstAsync<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__74 <,,,>))]
        //Task<T1> GetFirstAsync<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__73 <,,>))]
        //Task<T1> GetFirstAsync<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__72 <,,>))]
        //Task<T1> GetFirstAsync<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__71 <,>))]
        //Task<T1> GetFirstAsync<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__70 <,>))]
        //Task<T1> GetFirstAsync<T1, T2>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns the first matching T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__68<>))]
        Task<T> GetFirstAsync<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns the first matching T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetFirstAsync > d__76 <,,>))]
        //Task<TRet> GetFirstAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<T1> GetList<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns a list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        IEnumerable<T> GetList<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IEnumerable<TRet> GetList<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        //
        // 摘要:
        //     Returns a list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        IEnumerable<T> GetList<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__109 <,,,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__108 <,,,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, T3, T4, TRet>(Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__107 <,,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__106 <,,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, T3, TRet>(Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__105 <,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__104 <,,>))]
        //Task<IEnumerable<TRet>> GetListAsync<T1, T2, TRet>(Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__103 <,,,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2, T3, T4>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__102 <,,,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2, T3, T4>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__101 <,,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2, T3>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__100 <,,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2, T3>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T1.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__99 <,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2>(string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__98 <,>))]
        //Task<IEnumerable<T1>> GetListAsync<T1, T2>(string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns a list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__97<>))]
        Task<IEnumerable<T>> GetListAsync<T>(string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        //
        // 摘要:
        //     Returns a list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetListAsync > d__96<>))]
        Task<IEnumerable<T>> GetListAsync<T>(string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, T3, T4, TRet>(int page, int pageSize, Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, T3, T4, TRet>(int page, int pageSize, Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, T3, TRet>(int page, int pageSize, Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, T3, TRet>(int page, int pageSize, Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Data mapping function
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, TRet>(int page, int pageSize, Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        //
        // 摘要:
        //     Returns a paged list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   page:
        //     The page to request
        //
        //   pageSize:
        //     Number of records per page
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        IPagedEnumerable<T> GetPageList<T>(int page, int pageSize, string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2, T3, T4>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2, T3, T4>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2, T3>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2, T3>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<T1> GetPageList<T1, T2>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Returns a paged list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   page:
        //     The page to request
        //
        //   pageSize:
        //     Number of records per page
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        IPagedEnumerable<T> GetPageList<T>(int page, int pageSize, string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Data mapping function
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        //IPagedEnumerable<TRet> GetPageList<T1, T2, TRet>(int page, int pageSize, Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__138 <,,,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, T3, T4, TRet>(int page, int pageSize, Func<T1, T2, T3, T4, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__137 <,,,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, T3, T4, TRet>(int page, int pageSize, Func<T1, T2, T3, T4, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a list entities of type TRet.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__136 <,,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, T3, TRet>(int page, int pageSize, Func<T1, T2, T3, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Open SqlConnection
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__135 <,,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, T3, TRet>(int page, int pageSize, Func<T1, T2, T3, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Data mapping function
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__134 <,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, TRet>(int page, int pageSize, Func<T1, T2, TRet> mapper, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__131 <,,,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2, T3, T4>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__132 <,,,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2, T3, T4>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class
        //    where T4 : class;
        //
        // 摘要:
        //     Returns a paged list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   page:
        //     The page to request
        //
        //   pageSize:
        //     Number of records per page
        //
        //   sql:
        //     The where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     enumerable list of entities
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__125<>))]
        Task<IPagedEnumerable<T>> GetPageListAsync<T>(int page, int pageSize, string sql = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        //
        // 摘要:
        //     Returns a paged list entities of type T.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   page:
        //     The page to request
        //
        //   pageSize:
        //     Number of records per page
        //
        //   sql:
        //     The where clause to delete
        //
        //   parameters:
        //     The parameters of the where clause to delete
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 返回结果:
        //     true if deleted, false if not found
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__126<>))]
        Task<IPagedEnumerable<T>> GetPageListAsync<T>(int page, int pageSize, string sql, object parameters, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__127 <,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   mapper:
        ////     Data mapping function
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__133 <,,>))]
        //Task<IPagedEnumerable<TRet>> GetPageListAsync<T1, T2, TRet>(int page, int pageSize, Func<T1, T2, TRet> mapper, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where TRet : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__129 <,,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2, T3>(int page, int pageSize, string sql, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__130 <,,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2, T3>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class
        //    where T3 : class;
        ////
        //// 摘要:
        ////     Returns a paged list entities of type T.
        ////
        //// 参数:
        ////   connection:
        ////     Open SqlConnection
        ////
        ////   page:
        ////     The page to request
        ////
        ////   pageSize:
        ////     Number of records per page
        ////
        ////   sql:
        ////     The where clause to delete
        ////
        ////   parameters:
        ////     Parameters of the clause
        ////
        ////   splitOn:
        ////     The field we should split the result on to return the next object
        ////
        ////   transaction:
        ////     The transaction to run under, null (the default) if none
        ////
        ////   commandTimeout:
        ////     Number of seconds before command execution timeout
        ////
        //// 返回结果:
        ////     true if deleted, false if not found
        ////[AsyncStateMachine(typeof(SqlMapperExtensions.< GetPageListAsync > d__128 <,>))]
        //Task<IPagedEnumerable<T1>> GetPageListAsync<T1, T2>(int page, int pageSize, string sql, object parameters, string splitOn = null, IUnitOfWork unitOfWork = null, int? commandTimeout = null)
        //    where T1 : class
        //    where T2 : class;
        //
        // 摘要:
        //     Inserts an entity into table "Ts" and returns identity id or number of inserted
        //     rows if inserting a list.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToInsert:
        //     Entity to insert
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     The type to insert.
        //
        // 返回结果:
        //     the entity to insert or the list of entities
        bool Insert<T>(T entityToInsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Inserts an entity into table "Ts"
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToInsert:
        //     Entity to insert
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     The type to insert.
        //
        // 返回结果:
        //     true if the entity was inserted
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< InsertAsync > d__141<>))]
        Task<bool> InsertAsync<T>(T entityToInsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Inserts an entity into table "Ts" and returns identity id or number of inserted
        //     rows if inserting a list.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToInsert:
        //     List of Entities to insert
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     The type to insert.
        //
        // 返回结果:
        //     the entity to insert or the list of entities
        bool InsertList<T>(IEnumerable<T> entitiesToInsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Inserts an entity into table "Ts"
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToInsert:
        //     List of Entities to insert
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     The type to insert.
        //
        // 返回结果:
        //     true if the entity was inserted
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< InsertListAsync > d__143<>))]
        Task<bool> InsertListAsync<T>(IEnumerable<T> entitiesToInsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpdate:
        //     Entity to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Update<T>(T entityToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpdate:
        //     Entity to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Update<T>(T entityToUpdate, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpdate:
        //     Entity to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpdateAsync > d__164<>))]
        Task<bool> UpdateAsync<T>(T entityToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpdate:
        //     Entity to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpdateAsync > d__165<>))]
        Task<bool> UpdateAsync<T>(T entityToUpdate, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpdate:
        //     List of Entities to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool UpdateList<T>(IEnumerable<T> entitiesToUpdate, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpdate:
        //     List of Entities to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool UpdateList<T>(IEnumerable<T> entitiesToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpdate:
        //     List of Entities to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpdateListAsync > d__169<>))]
        Task<bool> UpdateListAsync<T>(IEnumerable<T> entitiesToUpdate, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpdate:
        //     List of Entities to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpdateListAsync > d__168<>))]
        Task<bool> UpdateListAsync<T>(IEnumerable<T> entitiesToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Upsert<T>(T entityToUpsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Upsert<T>(T entityToUpsert, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts", checks if the entity is modified if the entity
        //     is tracked by the Get() extension.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be inserted or updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Upsert<T>(T entityToUpsert, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts", checks if the entity is modified if the entity
        //     is tracked by the Get() extension.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be inserted or updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        bool Upsert<T>(T entityToUpsert, IEnumerable<string> columnsToUpdate, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertAsync > d__174<>))]
        Task<bool> UpsertAsync<T>(T entityToUpsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts".
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertAsync > d__175<>))]
        Task<bool> UpsertAsync<T>(T entityToUpsert, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts", checks if the entity is modified if the entity
        //     is tracked by the Get() extension.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be inserted or updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertAsync > d__176<>))]
        Task<bool> UpsertAsync<T>(T entityToUpsert, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates entity in table "Ts", checks if the entity is modified if the entity
        //     is tracked by the Get() extension.
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entityToUpsert:
        //     Entity to be inserted or updated
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated, false if not found or not modified (tracked entities)
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertAsync > d__177<>))]
        Task<bool> UpsertAsync<T>(T entityToUpsert, IEnumerable<string> columnsToUpdate, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        bool UpsertList<T>(IEnumerable<T> entitiesToUpsert, IEnumerable<string> columnsToUpdate, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        bool UpsertList<T>(IEnumerable<T> entitiesToUpsert, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        bool UpsertList<T>(IEnumerable<T> entitiesToUpsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        bool UpsertList<T>(IEnumerable<T> entitiesToUpsert, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertListAsync > d__182<>))]
        Task<bool> UpsertListAsync<T>(IEnumerable<T> entitiesToUpsert, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertListAsync > d__183<>))]
        Task<bool> UpsertListAsync<T>(IEnumerable<T> entitiesToUpsert, IEnumerable<string> columnsToUpdate, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertListAsync > d__184<>))]
        Task<bool> UpsertListAsync<T>(IEnumerable<T> entitiesToUpsert, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        //
        // 摘要:
        //     Updates or inserts a list of entities in table
        //
        // 参数:
        //   connection:
        //     Open SqlConnection
        //
        //   entitiesToUpsert:
        //     List of Entities to be updated or inserted
        //
        //   columnsToUpdate:
        //     Columns to be updated
        //
        //   insertAction:
        //     Callback action when inserting
        //
        //   updateAction:
        //     Update action when updating
        //
        //   transaction:
        //     The transaction to run under, null (the default) if none
        //
        //   commandTimeout:
        //     Number of seconds before command execution timeout
        //
        // 类型参数:
        //   T:
        //     Type to be updated
        //
        // 返回结果:
        //     true if updated or inserted, false if not
        //[AsyncStateMachine(typeof(SqlMapperExtensions.< UpsertListAsync > d__185<>))]
        Task<bool> UpsertListAsync<T>(IEnumerable<T> entitiesToUpsert, IEnumerable<string> columnsToUpdate, Action<T> insertAction, Action<T> updateAction, IUnitOfWork unitOfWork = null, int? commandTimeout = null) where T : Shared.Contracts.EntityBase;
        #endregion
    }
}